package com.futureCloudMOM.core.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.futureCloudMOM.core.entity.FBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "WMS_InvoiceSub", description = "业务订单子表")
@TableName(value = "WMS_InvoiceSub")
public class WmsInvoiceSub extends FBaseEntity implements Serializable {

    
    @NotNull(message="[主表ID]不能为空")
    @ApiModelProperty("主表ID")
    @TableField(value = "mainId")
    private Long mainId;
    
    @ApiModelProperty("行号")
    @TableField(value = "rowNum")
    private Long rowNum;
    
    @NotNull(message="[物料ID]不能为空")
    @ApiModelProperty("物料ID")
    @TableField(value = "materialId")
    private Long materialId;
    
    @NotBlank(message="[数量]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("数量")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "qty")
    private BigDecimal qty;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("备注")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "remark")
    private String remark;
    
    @NotNull(message="[状态]不能为空")
    @ApiModelProperty("状态")
    @TableField(value = "status")
    private Long status;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("批次")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "batchNum")
    private String batchNum;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("源单类型")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "srcBillType")
    private String srcBillType;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("源单单号")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "srcBillNo")
    private String srcBillNo;
    
    @ApiModelProperty("源单单据ID")
    @TableField(value = "srcBillId")
    private Long srcBillId;
    
    @ApiModelProperty("源单子表ID")
    @TableField(value = "srcBillSubId")
    private Long srcBillSubId;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("已关联数量")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "relationQty")
    private BigDecimal relationQty;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("未关联数量")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "notRelationQty")
    private BigDecimal notRelationQty;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("最小包装数量")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "minpackage")
    private String minpackage;

    @ApiModelProperty("仓库ID")
    @TableField(value = "wHID")
    private Long wHID;

    @ApiModelProperty("库位ID")
    @TableField(value = "areaID")
    private Long areaID;

    @ApiModelProperty("备料标记")
    @TableField(value = "stockMarker")
    private Integer stockMarker;



}

